package com.ruoyi.gybj.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 报警记录对象 gybj_alarm_records
 * 
 * @author ruoyi
 * @date 2025-11-19
 */
public class AlarmRecords extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 点位id */
    @Excel(name = "点位id")
    private Long pointId;

    /** 规则ID */
    @Excel(name = "规则ID")
    private Long ruleId;

    /** 报警优先级： 紧急、重要、 一般、其它 */
    @Excel(name = "报警优先级： 紧急、重要、 一般、其它")
    private String priority;

    /** 报警开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报警开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 报警值 */
    @Excel(name = "报警值")
    private BigDecimal alarmValue;

    /** 优化分析：抖动、因果的、N/A */
    @Excel(name = "优化分析：抖动、因果的、N/A")
    private String optimizationAnalysis;

    /** 班组ID */
    @Excel(name = "班组ID")
    private Long teamId;

    /** 确认人ID */
    @Excel(name = "确认人ID")
    private Long confirmerId;

    /** 确认人姓名 */
    @Excel(name = "确认人姓名")
    private String confirmerName;

    /** 确认时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "确认时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmedTime;

    /** 处理人ID */
    @Excel(name = "处理人ID")
    private Long processorId;

    /** 处理人姓名 */
    @Excel(name = "处理人姓名")
    private String processorName;

    /** 处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date processedTime;

    /** 是否升级：0否 1是 */
    @Excel(name = "是否升级：0否 1是")
    private String isUpgrade;

    /** 升级后优先级 */
    @Excel(name = "升级后优先级")
    private String upgradePriority;

    /** 升级时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "升级时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date upgradeTime;

    /** 报警类别 */
    @Excel(name = "报警类别")
    private String alarmCategory;

    /** 原因分析 */
    @Excel(name = "原因分析")
    private String causeAnalysis;

    /** 处置措施 */
    @Excel(name = "处置措施")
    private String processMeasures;

    /** 状态:1正常 0关闭 */
    @Excel(name = "状态:1正常 0关闭")
    private String status;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setPointId(Long pointId) 
    {
        this.pointId = pointId;
    }

    public Long getPointId() 
    {
        return pointId;
    }

    public void setRuleId(Long ruleId) 
    {
        this.ruleId = ruleId;
    }

    public Long getRuleId() 
    {
        return ruleId;
    }

    public void setPriority(String priority) 
    {
        this.priority = priority;
    }

    public String getPriority() 
    {
        return priority;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setAlarmValue(BigDecimal alarmValue) 
    {
        this.alarmValue = alarmValue;
    }

    public BigDecimal getAlarmValue() 
    {
        return alarmValue;
    }

    public void setOptimizationAnalysis(String optimizationAnalysis) 
    {
        this.optimizationAnalysis = optimizationAnalysis;
    }

    public String getOptimizationAnalysis() 
    {
        return optimizationAnalysis;
    }

    public void setTeamId(Long teamId) 
    {
        this.teamId = teamId;
    }

    public Long getTeamId() 
    {
        return teamId;
    }

    public void setConfirmerId(Long confirmerId) 
    {
        this.confirmerId = confirmerId;
    }

    public Long getConfirmerId() 
    {
        return confirmerId;
    }

    public void setConfirmerName(String confirmerName) 
    {
        this.confirmerName = confirmerName;
    }

    public String getConfirmerName() 
    {
        return confirmerName;
    }

    public void setConfirmedTime(Date confirmedTime) 
    {
        this.confirmedTime = confirmedTime;
    }

    public Date getConfirmedTime() 
    {
        return confirmedTime;
    }

    public void setProcessorId(Long processorId) 
    {
        this.processorId = processorId;
    }

    public Long getProcessorId() 
    {
        return processorId;
    }

    public void setProcessorName(String processorName) 
    {
        this.processorName = processorName;
    }

    public String getProcessorName() 
    {
        return processorName;
    }

    public void setProcessedTime(Date processedTime) 
    {
        this.processedTime = processedTime;
    }

    public Date getProcessedTime() 
    {
        return processedTime;
    }

    public void setIsUpgrade(String isUpgrade) 
    {
        this.isUpgrade = isUpgrade;
    }

    public String getIsUpgrade() 
    {
        return isUpgrade;
    }

    public void setUpgradePriority(String upgradePriority) 
    {
        this.upgradePriority = upgradePriority;
    }

    public String getUpgradePriority() 
    {
        return upgradePriority;
    }

    public void setUpgradeTime(Date upgradeTime) 
    {
        this.upgradeTime = upgradeTime;
    }

    public Date getUpgradeTime() 
    {
        return upgradeTime;
    }

    public void setAlarmCategory(String alarmCategory) 
    {
        this.alarmCategory = alarmCategory;
    }

    public String getAlarmCategory() 
    {
        return alarmCategory;
    }

    public void setCauseAnalysis(String causeAnalysis) 
    {
        this.causeAnalysis = causeAnalysis;
    }

    public String getCauseAnalysis() 
    {
        return causeAnalysis;
    }

    public void setProcessMeasures(String processMeasures) 
    {
        this.processMeasures = processMeasures;
    }

    public String getProcessMeasures() 
    {
        return processMeasures;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("pointId", getPointId())
            .append("ruleId", getRuleId())
            .append("priority", getPriority())
            .append("startTime", getStartTime())
            .append("alarmValue", getAlarmValue())
            .append("optimizationAnalysis", getOptimizationAnalysis())
            .append("teamId", getTeamId())
            .append("confirmerId", getConfirmerId())
            .append("confirmerName", getConfirmerName())
            .append("confirmedTime", getConfirmedTime())
            .append("processorId", getProcessorId())
            .append("processorName", getProcessorName())
            .append("processedTime", getProcessedTime())
            .append("isUpgrade", getIsUpgrade())
            .append("upgradePriority", getUpgradePriority())
            .append("upgradeTime", getUpgradeTime())
            .append("alarmCategory", getAlarmCategory())
            .append("causeAnalysis", getCauseAnalysis())
            .append("processMeasures", getProcessMeasures())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
